﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using vudu.EnlaceDatos.SqlServer;
using vudu.Logica.Clases;


namespace vudu.PaginasWeb.G9PracticaMateria
{
    public partial class EliminarII : System.Web.UI.Page
    {
        SqlServerPractica sqlServerPractica = new SqlServerPractica();   
        String IdPractica = Eliminar.IdPracticaSeleccionada;
        private static int idEscuela;
                    
        protected void Page_Load(object sender, EventArgs e)
        {        
            int practica = Convert.ToInt32(IdPractica);
            string miRol = (string)Session["rol"];
            if (miRol != "Escuela")
                Response.Redirect("../G3AccesoSistema/InicioSistema.aspx");
            Escuela miEscuela = (Escuela)Session["Usuario"];
            idEscuela = miEscuela.IdEscuela;
            Label1.Text = "Escuela: " + miEscuela.NombreEscuela;
            CargarDatosPractica(practica);
            CargarHorasPractica(practica);
        }
        /// <summary>
        /// Funcion que sirve para Cargar el nombre la seccion y el profesor de una practica.
        /// </summary>
        public void CargarDatosPractica(int practica)
        {
            Practica laPractica = new Practica();
            //En este paso se llama a la base de datos para consultar los datos
            //de la practica y asignarlos a un objeto de tipo practica
            laPractica = sqlServerPractica.ConsultarDatosPractica(practica);
            //Si la practica no esta vacia entonces rellena los campos de texto
            if (laPractica != null)
            {

                Convert.ToString(laPractica.IdPractica);
                NombrePractica.Text = laPractica.NombrePractica;
                Seccion.Text = Convert.ToString(laPractica.NumeroSeccion);
                NProfesor.Text = laPractica.profesor.Nombre + " " + laPractica.profesor.Apellido;

            }

        }
        /// <summary>
        /// Funcion que se encarga de Cargar las horas de la practica con su salon
        /// </summary>
        public void CargarHorasPractica(int practica)
        {
            //Se crea un objeto de tipo Horario de Clase para almacenar los datos de la consulta a la BD
            List<HorarioDeClase> listaHorasPractica = new List<HorarioDeClase>();
            listaHorasPractica = sqlServerPractica.ConsultarHorasPracticas(practica);

            //Si listaHorasPractica no es nulo entonces rellena los campos de texto
            if (listaHorasPractica != null)
            {
                for (int i = 0; i < listaHorasPractica.Count; i++)
                {
                    string dia = listaHorasPractica[i].Dia;
                    DateTime horaIni = listaHorasPractica[i].HoraInicio;
                    DateTime horaF = listaHorasPractica[i].HoraFin;
                    string salon = listaHorasPractica[i].SalonDeClase.Nombre;
                    string tipo = listaHorasPractica[i].SalonDeClase.Tipo;
                    string horaInicio = Convert.ToString(horaIni.Hour) + ":" + "00";
                    string horaFin = Convert.ToString(horaF.Hour) + ":" + "00";

                    //Imprime los valores de acuerdo al dia que le corresponda en el horario
                    switch (dia)
                    {
                        case "Lunes":

                            horaL.Text = horaInicio + " - " + horaFin;
                            salonL.Text = salon + " - " + tipo;
                            break;
                        case "Martes":
                            horaM.Text = horaInicio + " - " + horaFin;
                            salonM.Text = salon + " - " + tipo;

                            break;
                        case "Miercoles":
                            horaMI.Text = horaInicio + " - " + horaFin;
                            salonMi.Text = salon + " - " + tipo;

                            break;

                        case "Jueves":
                            horaJ.Text = horaInicio + " - " + horaFin;
                            salonJ.Text = salon + " - " + tipo;

                            break;

                        case "Viernes":
                            horaV.Text = horaInicio + " - " + horaFin;
                            salonV.Text = salon + " - " + tipo;

                            break;

                        default:

                            break;
                    }

                }
            }

        }

        protected void Eliminar_Click(object sender, EventArgs e)
        {

           int IdPract = Convert.ToInt32(IdPractica);
           sqlServerPractica.EliminarPractica(IdPract);

           Response.Redirect("../Home/HomeEscuela.aspx");
        }

        protected void Volver_Click(object sender, EventArgs e)
        {
            Response.Redirect("../G9PracticaMateria/Eliminar.aspx");
        }

    }
}